Methods and systems for adapting playlists

ABSTRACT

A method is performed at a server system. The method includes, while streaming a playlist at a first electronic device associated with a host listener, the playlist including media content items: automatically receiving an identity of a guest listener having a second electronic device, without explicit input from the guest listener after the second electronic device comes within range of the first electronic device; selecting an additional media content item based at least in part on the identity of the guest listener; and incorporating the additional media content item into the selected playlist.

RELATED APPLICATIONS

This application is a continuation application of U.S. patentapplication Ser. No. 15/282,375, filed Sep. 30, 2016, which isincorporated by reference herein in its entirety.

TECHNICAL FIELD

The present disclosure generally relates to the provision (e.g.,streaming) of media, and more particularly to adapting a playlistincluding a queue of playable audio items (e.g., songs).

BACKGROUND

As computer technology has improved, the digital media industry hasevolved greatly in recent years. Users are able to use electronicdevices such as mobile communication devices (e.g., cellular telephones,mobile telephones, smart phones, tablet computers (also known astablets), etc.) to consume media content such as music, video, etc. Forinstance, users can listen to audio content (e.g., music) and/or watchvideo content (e.g., movies, television (TV) broadcasts, etc.) on avariety of electronic devices.

At the same time, advances in network technology have increased thespeed and reliability with which information can be transmitted overcomputer networks. It is therefore possible for users to stream mediacontent over computer networks as needed, or on demand, rather thanreceiving a complete file in physical media (such as a CD or a DVD, ordownloading the entire file into memory) before consuming the mediacontent.

At social gatherings, users often wish to share media content (e.g.,with friends, relatives, and new acquaintances). For example, a partyhost may access media content on a portable electronic device, such as amobile phone or a tablet computer, and present media content through amedia presentation system (e.g., play music on one or several speakers).

SUMMARY

In a first of its aspects, this disclosure concerns a method forplaylist adaption. The method is performed by a server having one ormore processors and memory storing instructions for execution by the oneor more processors. The method comprises receiving a request to play aselected playlist from a first electronic device associated with a hostlistener. The playlist includes audio items having a common attribute.The method further comprises receiving an identity of a guest listenerhaving a second electronic device, and retrieving an indication of tasteof the guest listener based on the received identity. An additionalaudio item is selected based at least in part on the indication of tasteof the guest listener and the common attribute of the audio items of theselected playlist. The additional audio item is incorporated into theselected playlist.

In some embodiments, the server receives the information about theidentity of the guest listener from the first electronic device.Alternatively, the server receives the identity of the guest listenerfrom the second electronic device.

In some embodiments, the additional audio item is selected from audioitems of a gross playlist associated with the selected playlist. Thegross playlist includes more audio items than the selected playlist andthe audio items of the gross playlist have the common attribute.

In some embodiments, the indication of taste of the guest listenerincludes a taste profile parameter of the guest listener. The additionalaudio item may be selected from audio items that match the taste profileparameter of the guest listener and also have the common attribute.

The indication of taste of the guest listener may include listeningcounts for respective audio items. The common attribute of the selectedplaylist may be related to the genre of the audio items.

In some embodiments, the received request to play the selected playlistmay further comprise receiving geographic information about the firstelectronic device, receiving geographic information about the secondelectronic device, and determining that the first and second electronicdevices are within a same geographic area. The additional audio item isselected in response to determining that the first and second electronicdevices are within the same geographic area.

In a second of its aspects, a server comprises one or more processorsand memory storing instructions executable by the one or more processorsthat cause the server to perform the above method.

In a third of its aspects, this disclosure concerns a non-transitorycomputer-readable storage medium storing one or more programs forexecution by a server having one or more processors and memory. The oneor more programs comprise instructions for performing the above method.Various embodiments described hereinabove may allow a first electronicdevice, associated with a host listener, to adapt a playlist selected byany user of the first electronic device to the taste of listeners. In anexample scenario at a social gathering (e.g. a party) the taste ofseveral guest listeners (having their respective electronic device) maybe taken into account by adding additional audio items to the selectedplaylist based on the taste of the guest listeners. In this way thetaste of the listeners will be reflected in the selected and updatedplaylist. In some embodiments, this adaption of the selected playlistmay be performed without involvement from the listeners. This adaptionmay lead to improved user experiences at social gatherings.

BRIEF DESCRIPTION OF DRAWINGS

These and other aspects, features, and advantages will be apparent andelucidated from the following description of various embodiments,reference being made to the accompanying drawings, in which:

FIG. 1 is a block diagram schematically illustrating an audio contentdelivery system in accordance with some embodiments;

FIG. 2 illustrates an example embodiment of a system for playback of anaudio content stream and/or dynamic control of a queue of playable audioitems, in accordance with some embodiments;

FIG. 3 schematically illustrates a flowchart of a method in accordancewith some embodiments;

FIG. 4 schematically illustrates an example embodiment of a userinterface of an electronic device, here exemplified by a mobiletelephone such as a smartphone;

FIGS. 5A and 5B schematically illustrate an example embodiment ofadapting a selected playlist at a user interface of an electronicdevice, here exemplified by a mobile telephone such as a smartphone;

FIG. 6A schematically illustrates an example embodiment of a selectedplaylist;

FIG. 6B schematically illustrates an example embodiment of a grossplaylist associated with the selected playlist;

FIG. 7 schematically illustrates a flowchart of a method in accordancewith some embodiments;

FIG. 8 shows an example of a server in accordance with some embodiments;

FIG. 9 illustrates a carrier comprising a computer program, inaccordance with some embodiments;

FIG. 10 shows an example of an electronic device in accordance with someembodiments; and

FIG. 11 illustrates a carrier comprising a computer program, inaccordance with some embodiments.

Like reference numerals refer to corresponding parts throughout thefigures and description.

DETAILED DESCRIPTION

The present invention will now be described more fully hereinafter. Theinvention may, however, be embodied in many different forms and shouldnot be construed as limited to the embodiments set forth herein; rather,these embodiments are provided by way of example so that this disclosurewill be thorough and complete, and will fully convey the scope of theinvention to those persons skilled in the art. Like reference numbersrefer to like elements or method steps throughout this description.

It may be desirable to adapt a playlist to the taste of listeners thatare located within a geographic area. The playlist may be selected at afirst electronic device associated with a host listener and adapted inresponse to being selected. Other electronic devices, each associatedwith a guest listener, that are within the same predefined geographicarea as the first electronic device may be recognized by the firstelectronic device as being within the same predefined geographic area asthe first electronic device. The first electronic device receivesinformation about an identity of the guest listener located within thesame geographic area as the first electronic device. The identity isstored on the electronic device associated with the guest listener. Theidentity is used to select an additional audio item for incorporationinto the selected playlist. In some embodiments, the identity is used toretrieve a taste profile parameter of the guest listener (or otherindication of taste of the guest listener), which is used to select theadditional audio item to be incorporated into the queue of audio itemsof the selected playlist. In some embodiments, the selected additionalaudio item has at least one attribute that is in common with the audioitems of the selected playlist. The adaption of the selected playlistmay be done without any user involvement from the guest listeners. This,in turn, may lead to improved experiences for guest listeners that areattending a social gathering such as a party of the host listener.However, it should be understood that any electronic device may be usedas the “host device” and it is also possible that an electronic devicemay have the role of both “host device” and “guest device,” for examplewhen using more than one media content delivery system at the socialgathering.

To give context to the various embodiments described in this disclosure,FIG. 1 schematically illustrates an audio content delivery system 100 inaccordance with some embodiments. The audio content delivery system 100may comprise several electronic devices 200 (e.g., first electronicdevice 200-1 and second electronic device 200-2), one or more servers300 (e.g., computer server(s) such as audio content server(s) (sometimesreferred to as media server(s))), and one or more audio presentationsystems (e.g., media presentation systems 500 including speaker(s)500-1, television (TV) 500-2, and/or other media presentation systems500-n).

In some embodiments, an electronic device 200 may be a mobile telephone,such as a smart phone. Alternatively, an electronic device 200 may be atablet computer. In yet other embodiments, an electronic device 200 maybe any other electronic device capable of playing back and/orcontrolling the playback of audio content such as, for example, apersonal computer, a laptop, or a mobile electronic device (e.g. ahandheld entertainment device, a digital media player, or other mediadevice).

One or several networks (e.g., network(s) 400) may communicativelyconnect each component of the media content delivery system 100 withother components of the media content delivery system 100. Thenetwork(s) 400 may include public communications networks, privatecommunication networks, or a combination of both public and privatecommunication networks. For example, the networks(s) may include anynetwork(s) such as the Internet, other wide area networks (WAN),wireless wide area networks (WWAN), local area networks (LAN), wirelesslocal area networks (WLAN), virtual private networks (VPN), metropolitanarea networks (MAN), peer-to-peer networks, and/or ad-hoc networks. Aswill also be appreciated, the network(s) 400 may thus comprise cellulartelecommunications network(s) and/or non-cellular network(s).

In some embodiments, as is illustrated in FIG. 1, an electronic device200 (e.g., the first electronic device 200-1 in the following example)is capable of remotely controlling one or more of the media presentationsystems 500. To this end, the first electronic device 200-1 may forexample implement, or otherwise utilize, any of the techniques describedin the international patent application PCT/IB2013/001938 (publishedunder WO2014/001913A2) and corresponding U.S. Pat. No. 9,195,383. Forexample, it is possible for a user of the first electronic device 200-1to remotely control the presentation of media at any one or acombination of the media presentation systems 500. WO2014/001913A2 andU.S. Pat. No. 9,195,383 are incorporated herein by reference in theirentirety. For example, the first electronic device 200-1 may receive amedia control command for a media presentation system 500 (e.g.speaker(s) 500-1). In response to receiving this media control command,the first electronic device 200-1 sends a server media control requestto the server 300 and a local media control request to the mediapresentation system 500, which may be located within the same localnetwork (e.g. a LAN) as the first electronic device 200-1 (i.e., a localnetwork to which both the first electronic device 200-1 and the mediapresentation system 500 are connected). The server media control requestmay be sent to the server 300 over the Internet. Typically, but notnecessarily, the server 300 is associated with an Internet Protocol (IP)address outside the space of the local network to which both the firstelectronic device 200-1 and the media presentation system 500 areconnected. The first electronic device 200-1 and the media presentationsystem 500 may thus be associated with IP addresses within the same subnetwork. The first electronic device 200-1 may hence provide a userinterface that allows a user to select media content for presentation bythe electronic device 200-1 itself and, also, to generate media controlrequest(s) to cause the media content to be presented, or played, by themedia presentation system 500. Furthermore, the server media request andthe local media request are both configured to cause a media controloperation, initiated at the first electronic device 200-1, to beimplemented at the media presentation system 500.

In an example scenario related to a social gathering, a host (i.e., auser) may thus interact with his or her first electronic device 200-1 toremotely control the playback of media content at the media presentationsystem 500 (e.g. the playback of a selected playlist of streamed musicthrough loudspeakers(s) 500-1). In this way, it is for example possiblefor the host (i.e., the user) to control the playback of music that isto be played at the social gathering (e.g. a party).

While the above example has been described with respect to the firstelectronic device 200-1, it should be appreciated that the secondelectronic device 200-2 may have the same features and, thus, employ thesame functionality as the first electronic device 200-1. For example,the second electronic device 200-2 may also implement, or otherwiseutilize, any of the techniques described in WO2014/001913A2.

Turning now to FIG. 2, an example environment where embodiments of thisdisclosure may be applied is shown. An electronic device 200 (e.g. thefirst electronic device 200-1 or the second electronic device 200-2 ofFIG. 1) may be communicatively connected to the server 300 via thenetwork 400 (e.g. the Internet), as described above. Only a singleelectronic device 200 and a single server 300 are shown in FIG. 2.However, the server 300 may support the simultaneous use of multipleelectronic devices 200-1, 200-2, etc., and/or the electronic device 200can simultaneously access media content at multiple servers 300. FIG. 2is intended more as a functional description of the various features, orcomponents, which may be present in one or more servers, rather than astructural schematic of the various implementations described throughoutthis disclosure. In practice, components shown separately could becombined and some components could be separated.

In the following description and in order not to obscure the detaileddescription with unnecessary detail, the media content will in generalbe exemplified to be audio content (e.g. music). This should, however,not be interpreted as limiting the scope of the disclosed embodiments.

As is schematically shown in FIG. 2, the electronic device 200 (e.g.,the first electronic device 200-1 or the second electronic device 200-2,FIG. 1) may be used for the playback of media content (e.g., audiocontent such as music), which is provided by the server 300. Theelectronic device 200 includes one or several physical computerresources, or hardware resources, 210. The hardware resources 210include, for example, one or several processors (or, processingcircuitry), a communications interface (or, communication circuitry),and one or several memories. Likewise, the server 300 (e.g., a mediaserver) may include one or several physical computer resources, orhardware resources, 316. The hardware resources 316 include, forexample, one or several processors (or, processing circuitry), acommunications interface (or, communication circuitry) and one orseveral memories.

The server 300 may include an operating system or other processingsystem which supports execution of a software application 310, includinga media server application 312 which may be used, for example, to streammedia content such as audio content (e.g., music). A media streamservice 320 may be used to buffer media content, for streaming to one ormore media streams 322, 324 and 326. A media application interface 314may receive requests from electronic devices 200 or other systems toretrieve media content items 331 from the server 300.

Media content items 331, or media items, may be provided, for example,within a first storage such as a memory (e.g., including a database), ormay be received by the server 300 from another source (not shown). Thisother source (not shown) could be external to the server 300 (i.e.located remotely from the server 300).

A media streaming logic 330 may be used to retrieve or otherwise accessthe media content items 331 in response to requests from electronicdevices 200 or other systems, and populate the media stream service 320with streams 322, 324 and 326 of corresponding media content data 323,325 and 327 that may be returned (e.g., streamed) to the requestingelectronic device 200.

The electronic device 200 comprises a user interface 230. The userinterface 230 may, among other things, be adapted to display orotherwise provide a visual array of media options 232 and to determineuser input. The visual array of media options 232 may for example beprovided as a two-dimensional grid, a list, or other visual arrayformat. Each media option in the visual array of media options 232 maycorrespond to a respective media stream 322, 324 or 326.

Selecting a particular media option within the visual array 232 may beinterpreted as a request or instruction to the media server application312 to stream or otherwise return a corresponding particular mediacontent item. For example, in accordance with some embodiments, thesoftware application 310 at the server 300 streams or otherwisecommunicates media content to the electronic device 200, wherein theuser interface 230 at the electronic device 200 is adapted to display aplurality of media options that correspond to respective media streams.

In accordance with some embodiments, the electronic device 200 may alsoinclude a media playback application 220, which includes a playbacklogic 222 with pre-buffering logic 145 and volume function 146. Theplayback logic 222 is used to control the playback of media content thatis received from the media server application 312, for playback by theelectronic device 200, as described in further detail below.

A user 240 may interact 11 with the user interface 230 of the electronicdevice 200 and issue requests, for example the playing of a selectedmedia option (e.g., at the electronic device 200 or on a mediapresentation system 500). The user's selection of a particular mediaoption may be communicated as input 12 to the media server application312, via the media application interface 314. The media serverapplication 312 may then be instructed 13 to stream 14 correspondingmedia content, including one or more streams of media content data 323,325 and 327 to the user's electronic device 200 and/or a mediapresentation system 500 (FIG. 1). In accordance with some embodiments,pre-buffering requests from the electronic device 200 may also becommunicated as input 12 to the media server application 312 via themedia application interface 314. At the electronic device 200, inresponse to the user's interaction with the user interface 230, themedia playback application 220, including the playback logic 222, mayplay 10 the requested media content to the user 240. Alternatively, therequested media content is played at a media presentation system 500 inresponse to the user's interaction with the user interface 230.

Reference is now made to FIG. 3, which schematically illustrates aflowchart of a method 305 for adapting a selected playlist to the tasteof listeners that are located within a geographic area, in accordancewith some embodiments. The method 305 may be performed by, or otherwiseexecuted in, a server 300. In one embodiment, the server 300 isimplemented as a single server having one or more processors and amemory storing instructions for execution by the one or more processorsto perform the method 305. In an alternative embodiment, the server 300may be implemented by two or more servers (e.g., the method may beperformed by several servers in a distributed manner). An example of aserver is described in conjunction with FIG. 8.

The selected playlist includes a queue of audio items to be played. Theselected playlist may be generated in different ways such as beingcreated by a curator, which will be described further in conjunctionwith FIG. 6A. Each audio item has at least one attribute, such as genre,danceability, energy, tempo, etc. The audio items in the selectedplaylist have at least one common attribute and may be grouped intocoherent groups. The method comprises receiving, in step 350, a requestto play the selected playlist. The request is received from a firstelectronic device 200-1 associated with a host listener. The firstelectronic device 200-1 is located within a geographic area. Such anarea may for example be a house where a social gathering, such as aparty, is ongoing or a room (e.g., living room) of the house. Thegeographical area may also be defined by the area within whichelectronic devices 200 associated with different listeners are able tocommunicate with each other, using a wireless local area network (e.g.,WiFi), a wireless personal area network (e.g., Bluetooth), Near FieldCommunication (NFC), or other technologies.

The method further comprises receiving, in step 360, information aboutan identity of a guest listener located within the same geographic areaas the first electronic device 200-1. In some embodiments, the identityis stored on a second electronic device 200-2 associated with the guestlistener (e.g., the guest listener is the user of the second electronicdevice). The information about the guest listener may be received eitherfrom the first electronic device 200-1 or directly from the secondelectronic device 200-2. In some embodiments, the first electronicdevice 200-1 obtains or collects information about the identity of theguest listener from the second electronic device 200-2 when the guestlistener “joins the party,” (i.e. enters the geographic area), as willbe described further in conjunction with FIG. 4.

In some embodiments, the received identity information about the guestlistener is used by the server 300 for retrieving, in step 370, a tasteprofile parameter (or other indication of taste) of the guest listener.This taste profile parameter reflects the taste of the guest listenerand may be stored in a database. The taste profile parameter may bebased on the previous listening behavior of the guest listener. Thetaste profile parameter (or other indication of taste) may be usedtogether with the information about common attributes of the audio itemsin the selected playlist for selecting, in step 375, an additional audioitem. The additional audio item may as an alternative or an option beselected, in step 380, from a gross playlist associated with theselected playlist (e.g., in which the songs have at least one commonattribute). The selection steps 375 and 380 may be combined whenselecting additional audio items or be performed separately. Thisadditional audio item is incorporated, in step 385, into the queue ofaudio items of the selected playlist. The additional audio item will beplayed in due course, unless playback of the playlist stops before theadditional audio item is reached in the queue. Thus, a new updatedplaylist can be created by adding the additional audio item to theselected playlist without any direct user involvement of the guestlistener.

A taste profile contains records corresponding to the taste (e.g., inaudio items, such as music) of a user. For example, a taste profile is arepresentation of musical activity, and may include a wide range ofinformation such as artist plays, song plays, skips, dates of listen bythe user, songs per day, playlists, play counts, start/stop/skip datafor portions of a song or album, contents of collections, userrankings/ratings, preferences, other mentions received via a clientdevice, or other media plays, such as websites visited, book titles,movies watched, playing activity during a movie or other presentations,ratings, or terms corresponding to the media, etc. In some embodiments,a taste profile includes, for a particular song or album, an artist nameand/or a song or album title and one or more of the following: length oflistening activity for the song, length of listening activity for thealbum, and user actions during song or album play, such as fastforwarding, track skipping, stopping or pausing the song, or other mediaplays, such as websites visited, book titles, movies watched, playingactivity during a movie or other presentations, ratings, or termscorresponding to the media. In some embodiments, a taste profileincludes user data (e.g., gender, age, etc.), which may be obtained froma third party. In some embodiments, a taste profile is stored in arelational database at a server.

A taste profile parameter (i.e., taste profile attribute) is a score orsummary relating to a taste profile, calculated based on one or morestatistics for a taste profile. Taste profile parameters provideindications of the taste of a user. Examples of taste profile parametersare provided in US Patent Application Publication No. 2014/0279817,published Sep. 18, 2014, which is incorporated by reference herein inits entirety. Taste profiles are further discussed in US PatentApplication Publication No. 2013/0262469, published Oct. 3, 2013, whichis also incorporated by reference herein in its entirety.

FIGS. 5A and 5B schematically illustrate the incorporation (in step 385)of the additional audio item into the selected playlist in accordancewith some embodiments. It may for example be indicated by textualinformation (e.g. “Jamie's party”) that the selected playlist isassociated with the host listener (“Jamie”) on the first electronicdevice. The user interface shown in FIG. 5A thus displays a part (or,portion) of the selected playlist, in this example eight different audioitems (e.g., songs). After the selection, in steps 375 and/or 380, ofthe additional audio item, it is incorporated into the selectedplaylist. In the example of FIG. 5B, a song with Song Title 5 a isincorporated into the selected playlist, in step 385, after Song Title 5and before Song Title 6. An additional audio item is thus incorporatedinto a selected playlist based on a guest listener's taste. In someembodiments, more than one additional audio item may be added to theselected playlist (e.g., at specified positions within the playlist). InFIGS. 6A and 6B another example of the incorporation of additional audioitems will be described. It should also be understood that theincorporation may be done based on more than one guest listener, sincethere is often many more than one guest listener attending a socialgathering, such as a party.

Turning back to FIG. 3, as mentioned above, the selecting, in step 375,of the additional audio item is made among audio items matching thetaste profile parameter of the guest listener and at least one commonattribute of the selected playlist, in accordance with some embodiments.The common attribute of the selected playlist may for example be relatedto the genre, danceability, energy, tempo, etc. of the audio items.Additionally, as mentioned above in step 380, the selection may also bedone by selecting the additional audio item from a gross playlistassociated with the selected playlist. The gross playlist may comprisesongs having at least one common attribute.

In some embodiments, the server 300 receives geographic informationabout the first electronic device 200-1 in optional step 355 andgeographic information about the second electronic device 200-2 inoptional step 365. The geographic information of the first electronicdevice 200-1 and second electronic device 200-2 may be received togetherwith the request of step 350 and/or the information about the identityof the guest listener or it may be received separately. The geographicalinformation from the electronic devices 200 may be used to determine ifthe electronic devices are within the same geographic area, for exampleif the electronic devices (and associated listeners) are attending thesame party. In some implementations, each electronic device 200determines its respective geographic location by using a GlobalNavigation Satellite System (GNSS) (e.g., the Global Positioning System(GPS)) or through trilateration of received signal strengths. Based onthe received geographic information, the server 300 determines whetherthe first and second electronic devices 200-1 and 200-2 are locatedwithin a defined geographic area or proximity.

In other implementations, the electronic devices may, as is alsomentioned hereinabove, communicate with one another using WiFi,Bluetooth, NFC, or other technologies to determine whether they arewithin a predefined distance of one another (i.e., whether they arelocated within the same predefined geographical area). Once it isdetermined that any electronic device 200 is within the same predefinedgeographic area as another electronic device 200, this information maybe sent to the server 300. This information may be sent from eachelectronic device 200 or from the first electronic device 200-1 (hostdevice), which may collect this information from the other electronicdevices 200. The server 300 may thus be informed that the electronicdevices 200 are located in proximity to one another (i.e. the electronicdevices 200 are within a defined geographic area).

Turning now to FIG. 4, an example scenario applied at a social gathering(e.g. a party) will be described in further detail. FIG. 4 schematicallyillustrates an example user interface 230 of an electronic device 200,in the form of a mobile phone. In this example a user or listener ispresented with textual information 234 that presents selectable userpreference options to the listener. The listener may for example bepresented by icons 235 (e.g., “Join”) and 236 (e.g., “Start”)corresponding to the selectable user preference options. In thisexample, the textual information 234 is “Let's get started. Join a partyor start your own party.” The host listener or one of the host listenerswould select “Start” icon 236. Thereafter the host listener selects theplaylist. When other listeners (i.e. guest listeners) reach the samegeographic area as the first electronic device 200-1 (i.e., theelectronic device 200 of the host listener), associated with the hostlistener, they may want to join the party. This may be done by selecting“Join” icon 235. By joining the party the guest listeners' tastes willaffect the selected playlist using the method described above inconjunction with FIG. 3. It is also possible that a guest listener sets“Join” as a default option in the media playback software application220 (FIG. 2). By setting “Join” as a default option the guest listenerwill automatically be connected to the party when the second electronicdevice 200-2 (i.e., the electronic device 200 of the guest listener)reaches the same predefined geographic area as the first electronicdevice 200-1. This option makes it possible to adapt the selectedplaylist to the taste of guest listeners that are within the samegeographic area without any user involvement. For example, joining theparty may be done by enabling a function that makes the electronicdevice 200 of a guest listener discoverable by the electronic device 200of any other listener (e.g., by the host listener's electronic device200-1) within a defined region (e.g., within a specified radius). Afterenabling the function once, the listener need not explicitly join futureparties because his or her electronic device 200 will join partiesautomatically when it is within range of other electronic devices 200(e.g., of the host listener's electronic device 200-1). The guestlistener's electronic device may be discoverable by an arbitrary amountof electronic devices (e.g., associated with hosts) at once. This, inturn, may lead to improved listening experiences for a guest listener(e.g. at social gatherings such as parties), since the taste of theguest listener will be taken into account even though the host listeneralready selected a playlist.

FIGS. 6A and 6B show a selected playlist 600 and a gross playlist 620associated therewith in accordance with some embodiments. The selectedplaylist 600 is shown in FIG. 6A. When a host wants to start a party heor she selects a playlist. Such playlists may for example be provided bydifferent content providers and may have been created by a curator. Thehost may select one or more attributes for the playlist 600 and thus forthe party. In the example shown in FIG. 6A the host may select a theme602 (e.g., Electronic Dance Music, “edm” 604) and an energy level 606(e.g., energy level 1 608) for the “party”. These selections render theselected playlist 600 (FIG. 6A). In the selected playlist 600 the songsare shown as different coherent groups or clusters 612-1 through 612-5,which are groups of songs that are mixed together by a curator. In someembodiments, each coherent group is seen as one song, since the songswithin the coherent group cannot be separated from each other (i.e. acoherent group will be played uninterrupted). In some embodiments, thetransitions between songs in a coherent group are pre-calculated. FIG.6A shows five different coherent groups. The number of songs in acoherent group may be chosen freely. It is between these coherent groupsthat the additional audio items are to be incorporated (e.g., in step385, FIG. 3).

In some embodiments the additional audio item is selected from theassociated gross playlist 620 depicted in FIG. 6B. A gross playlist is aplaylist in which the content items have at least one common attribute.For example, the gross playlist 620 has a large (e.g., larger than theplaylist) selection of music belonging to the same party theme as theselected playlist 600 (e.g., Electronic Dance Music Energy Level 1). InFIG. 6B only a part of the gross playlist 620 is shown; as indicated bythe arrow, the list is in reality longer. The selected playlist is aselection of songs from the associated gross playlist and the songs ofthe gross playlist which are not curated into the selected playlist maybe inserted between the coherent groups based on the taste of the guestlisteners. There are many options in how the selection of additionalaudio items may be made. For example, the songs on the gross playlistmay be scored based on indications of the taste of the guest listenersthat are within the same predefined geographical area. The taste may bedefined as (i.e., indicated by) the listening count for each song on thegross playlist. The song with the highest listening count (e.g., amongthe songs in the gross playlist that are not already included in theselected playlist) is then added after the end of a coherent group(e.g., the first coherent group) of the selected playlist. By allowingincorporation only between the coherent groups in accordance with someembodiments, it is ensured that the selected playlist basically remainsas created by the curator but with a guest listener touch. The benefitis that the guest listener touch is realized with songs from the grossplaylist, which have been selected by the curator such that they fittogether with the songs on the selected playlist. Thus, it is possibleto have a curator-produced (e.g., DJ-produced) party playlist which alsotakes into account the taste of guest listeners attending the party.

FIG. 7 schematically illustrates a flowchart of a method 700 foradapting a selected playlist to the taste of listeners that are locatedwithin a geographic area. The method 700 may be performed by, orotherwise executed in, a first electronic device 200-1 associated with ahost listener. The first electronic device 200-1 may have one or moreprocessors and a memory storing instructions for execution by the one ormore processors. The first electronic device 200-1 is located within ageographic area. Such an area may for example be a house where a socialgathering, such as a party, is ongoing or a room (e.g., living room) ofthe house. The geographical area may also be defined by the area withinwhich electronic devices 200 associated with different listeners areable to communicate with each other, using Bluetooth, NFC, or otherwireless technologies. An example of an electronic device 200 isdescribed in conjunction with FIG. 10.

The method 700 starts with step 710, in which the host listener selectsa playlist. The selected playlist includes a queue of audio items to beplayed. Each audio item has at least one attribute, such as genre,danceability, energy, tempo, etc. In some embodiments, the audio itemsin the selected playlist have at least one common attribute. In step 720the first electronic device 200-1 sends a request to play the selectedplaylist to a server 300. The first electronic device 200-1 also, instep 740, acquires information about identities of guest listenerslocated within the same area as the first electronic device 200-1. Theseidentities are stored on electronic devices 200 associated with theguest listeners. The identity information of each guest listener isrelated to an indication of taste (e.g., a taste profile parameter) ofeach guest listener. The indication of taste (e.g., taste profileparameter) may be stored in a database accessible by the server 300,which uses the identity information to retrieve the indication of taste.In step 750 the acquired identity information is sent to the server 300.

In step 770 the first electronic device 200-1 receives an updatedplaylist from the server 300. The updated playlist comprises at leastone additional audio item or song. The updated playlist has been createdby the server 300 taking into account the indication(s) of taste of theguest listener(s). For example, the server 300 selects the at least oneadditional audio item by matching the indication(s) of taste with atleast one common attribute of the audio items of the selected playlist.The common attribute of the selected playlist may, as mentioned above,be related to the genre, danceability, energy, tempo, etc. of the audioitems.

In some embodiments the first electronic device 200-1 may in addition tosending the request to play the selected playlist to the server alsosend geographic information about itself in optional step 730, shownwith dashed lines in FIG. 7. Another, optional step is step 760, inwhich geographic information about the second electronic device 200-2(and/or other geographic information for other electronic devices 200 ofother guest listeners) is sent to the server 300.

The geographical information from the electronic devices 200 may, asmentioned above, be used to determine if the electronic devices 200 arewithin the same geographic area, for example if the electronic devices200 (and their associated listeners) are attending the same party. Thisinformation may be obtained by comparing known locations of theelectronic devices 200 or by direct communication between the electronicdevices 200 by using Bluetooth, NFC or other technologies. This hasalready been described above in conjunction with FIG. 3 and is thereforenot repeated once again here.

Reference is now made to FIG. 8, which schematically illustrates aserver 300 (see FIGS. 1 and 2) in accordance with some embodiments. Theserver 300 is configured to perform, or otherwise execute, the method305 in accordance with FIG. 3. To this end, the server 300 compriseshardware resources 316 as described earlier herein. For example, theserver 300 may comprise one or more processors 316A and one or morememories 316B. Also, a communications interface 316C, or acommunications circuitry, may be provided to allow the server 300 tocommunicate with electronic devices 200, other servers 300, and/or mediapresentation systems 500 (e.g. via a network 400 such as the Internet,FIG. 1). To this end, the communications interface 316C may comprise atransmitter (Tx) and a receiver (Rx). Alternatively, the communicationsinterface 316C may comprise a transceiver (Tx/Rx) combining bothtransmission and reception capabilities. The communications interface316C may include a radio frequency (RF) interface allowing the server300 to communicate with electronic devices 200, other servers 300,and/or media presentation systems 500 through a radio frequency bandthrough the use of different radio frequency technologies such as LTE(Long Term Evolution), WCDMA (Wideband Code Division Multiple Access),any other cellular network (e.g., as standardized by the 3rd GenerationPartnership Project (3GPP)), or any other wireless technology such asWi-Fi, Bluetooth, etc. As described with reference to FIG. 2, the server300 may also comprise one or more applications (e.g. the softwareapplication 310 including the media server application 312). Theapplications are sets of instructions (e.g., computer program code),stored in memory 316B, that when executed by the one or more processors316A control the operation of the server 300. In some embodiments, theone or more applications include instructions for performing the method305 (FIG. 3).

In some implementations, the one or more memories 316B store computerprogram code, which, when run in the one or more processors 316A causesthe server 300 to adapt a selected playlist to the taste of listenersthat are located within a geographic area. The selected play listincludes a queue of audio items to be played. In some embodiments, theaudio items have a common attribute, such as genre. Additionally, theone or more memories 316B stores computer program code, which, when runin the one or more processors 316A causes the server 300 to receive(e.g. receive via the I/F 316C) a request to play the selected playlistfrom a first electronic device 200-1, the first device being locatedwithin a geographic area and also receive (e.g. receive via the I/F316C) information about an identity of a guest listener located withinthe same geographic area as the first electronic device 200-1. Theidentity being stored on a second electronic device 200-2 associatedwith the guest listener. In some implementations, the information aboutthe identity of the guest listener may be received (e.g. received viathe I/F 316C) from the first electronic device 200-1 or directly fromthe second electronic device 200-2. In some implementations, the one ormore memories 316B stores computer program code, which, when run in theone or more processors 316A causes the server 300 to retrieve anindication of taste (e.g., a taste profile parameter) of the guestlistener based on the previously received identity information.Additionally, the one or more memories 316B may store computer programcode, which, when run in the one or more processors 316A causes theserver 300 to select an additional audio item based on the retrievedindication of taste (e.g., taste profile parameter) of the guestlistener and the common attribute of the audio items of the selectedplaylist and incorporate the selected audio item into the queue of audioitems of the selected playlist.

The one or more memories 316B may also comprise (i.e., store)instructions executable by the one or more processors 316A whereby theserver 300 is operative to select the additional audio item among audioitems matching the taste profile parameter of the guest listener andalso having the same attribute as the common attribute of the selectedplaylist. One such common attribute may be related to the genre,danceability, energy, tempo, etc. of the audio items.

FIG. 9 shows an example of a computer-readable medium, in this examplein the form of a data disc 800. In some embodiments the data disc 800 isa magnetic data storage disc. The data disc 800 is configured to carryinstructions 810 that can be loaded into a memory 316B of an electronicdevice (e.g. server 300). Upon execution of the instructions by aprocessor 316A of the server 300, the server 300 is caused to execute amethod or procedure according to embodiments described herein (e.g., themethod 305, FIG. 3). The data disc 800 is arranged to be connected to orwithin and read by a reading device (not shown), for loading theinstructions into the memory 316B for execution by the processor(s)316A. One such example of a reading device in combination with one (orseveral) data disc(s) 800 is a hard drive. It should be noted that thecomputer-readable medium can also be other mediums such as compactdiscs, flash memories or other memory technologies commonly used. Insuch embodiments the data disc 800 is one type of a tangible,non-transitory computer-readable medium. The instructions mayalternatively be downloaded to a computer data reading device, such as aserver 300 capable of reading computer coded data on a computer-readablemedium, by encoding the instructions in a computer-readable signal (notshown) which is transmitted via a wireless (or wired) interface (forexample via the Internet) to the computer data reading device forloading the instructions into the memory 316B of the server 300. In suchembodiments, the computer-readable signal is one type of a non-tangiblecomputer-readable medium.

Reference is now made to FIG. 10, which schematically illustrates anexample of the first electronic device 200-1 in accordance with someembodiments. The first electronic device 200-1 is configured to perform,or otherwise execute, the method 700 (FIG. 7). To this end, the firstelectronic device 200-1 comprises a user interface 230. The firstelectronic device 200-1 also comprises hardware resources 210 (see alsoFIG. 2). For example, the first electronic device 200-1 may comprise oneor more processors 210A and one or more memories 210B. Also, acommunications interface 210C, or a communications circuitry, may beprovided to allow the first electronic device 200-1 to communicate withother electronic devices 200, servers 300, and/or media presentationsystems 500 (e.g. via a network 400 such as the Internet, FIG. 1). Tothis end, the communications interface 210C may comprise a transmitter(Tx) and a receiver (Rx). Alternatively, the communications interface210C may comprise a transceiver (Tx/Rx) combining both transmission andreception capabilities. The communications interface 210C may include aradio frequency (RF) interface allowing the first electronic device200-1 to communicate with electronic devices 200, servers 300, and/ormedia presentation systems 500 through a radio frequency band throughthe use of different radio frequency technologies such as LTE (Long TermEvolution), WCDMA (Wideband Code Division Multiple Access), any othercellular network (e.g., as standardized by the 3rd GenerationPartnership Project (3GPP)), or any other wireless technology such asWi-Fi, Bluetooth, etc. As can be seen in FIG. 2, the first electronicdevice 200-1 may also comprise one or more applications (e.g. the mediaplayback software application 220). The applications are sets ofinstructions (e.g., computer program code) that when executed by the oneor more processors 210A controls the operation of the first electronicdevice 200-1 (e.g., causes the first electronic device 200-1 to performthe method 700, FIG. 7).

In some implementations, the one or more memories 210B store computerprogram code, which, when run in the one or more processors 210A causesthe first electronic device 200-1 to adapt a selected playlist to thetaste of listeners that are located within a geographic area. Theplaylist includes a queue of audio items to be played. In someembodiments, the audio items of the selected playlist have at least onecommon attribute.

The one or more memories 210B may further comprise (i.e., store)instructions executable by the one or more processors 210A whereby thefirst electronic device 200-1 is operative to send, to the server 300, arequest to play the selected playlist; acquire information about anidentity of a guest listener located within the same geographic area asthe first electronic device, the identity being stored on a secondelectronic device 200-2 associated with the guest listener; send theacquired identity information, relating to an indication of taste (e.g.,a taste profile parameter) of the guest listener, to the server; andreceive an updated playlist from the server, the updated playlistcomprising at least one additional audio item, which has been selectedbased on the indication of taste (e.g., taste profile parameter) of theguest listener and the common attribute of the audio items of theselected playlist.

In some embodiments, the one or more memories 210B may compriseinstructions executable by the one or more processors 210A whereby thefirst electronic device 200-1 is further operative to send to the server300 geographic information about itself and/or send geographicinformation about the second electronic device 200-2 (e.g., togetherwith the request to play the selected playlist and/or the informationabout the identity of the guest listener).

FIG. 11 shows an example of a computer-readable medium, in this examplein the form of a data disc 900. In some embodiments the data disc 900 isa magnetic data storage disc. The data disc 900 is configured to carryinstructions 910 that can be loaded into a memory 201B of an electronicdevice 200 (e.g. the first electronic device 200-1). Upon execution ofthe instructions by a processor 210A of the electronic device 200, theelectronic device 200 is caused to execute a method or procedureaccording to embodiments described herein (e.g., the method 700, FIG.7). The data disc 900 is arranged to be connected to or within and readby a reading device (not shown), for loading the instructions into thememory 210B for execution by the processor(s) 210A). One such example ofa reading device in combination with one (or several) data disc(s) 900is a hard drive. It should be noted that the computer-readable mediumcan also be other mediums such as compact discs, flash memories or othermemory technologies commonly used. In such embodiments the data disc 900is one type of a tangible, non-transitory computer-readable medium. Theinstructions may alternatively be downloaded to a computer data readingdevice, such as an electronic device 200 capable of reading computercoded data on a computer-readable medium, by encoding the instructionsin a computer-readable signal (not shown) which is transmitted via awireless (or wired) interface (for example via the Internet) to thecomputer data reading device for loading the instructions into thememory 210B of the electronic device 200. In such embodiments, thecomputer-readable signal is one type of a non-tangible computer-readablemedium.

Various embodiments described throughout this disclosure allow severalusers to collaboratively control the queue of audio items in a playlist,while avoiding disagreements among the users or listeners. Achievingthis collaborative control while avoiding disagreements leads toimproved user experiences at social gatherings. For example, a selectedplaylist may be adapted to the taste of guest users without any userinvolvement.

In the detailed description hereinabove, for purposes of explanation andnot limitation, specific details are set forth in order to provide athorough understanding of various embodiments described in thisdisclosure. In some instances, detailed descriptions of well-knowndevices, components, circuits, and methods have been omitted so as notto obscure the description of the embodiments disclosed herein withunnecessary detail. All statements herein reciting principles, aspects,and embodiments disclosed herein, as well as specific examples thereof,are intended to encompass both structural and functional equivalentsthereof. Additionally, it is intended that such equivalents include bothcurrently known equivalents as well as equivalents developed in thefuture, i.e., any elements developed that perform the same function,regardless of structure. Thus, for example, it will be appreciated thatblock diagrams herein can represent conceptual views of illustrativecircuitry or other functional units embodying the principles of thedescribed embodiments. Similarly, it will be appreciated that any flowcharts and the like represent various processes which may besubstantially represented in a computer-readable medium and so executedby a computer or processor, whether or not such computer or processor isexplicitly shown. The functions of the various elements includingfunctional blocks may be provided through the use of hardware such ascircuit hardware and/or hardware capable of executing software in theform of coded instructions stored on the above-mentionedcomputer-readable medium. Thus, such functions and illustratedfunctional blocks are to be understood as being eitherhardware-implemented and/or computer-implemented, and thusmachine-implemented. In terms of hardware implementation, the functionalblocks may include or encompass, without limitation, digital signalprocessor (DSP) hardware, reduced instruction set processor, hardware(e.g., digital or analog) circuitry including but not limited toapplication specific integrated circuit(s) [ASIC], and/or fieldprogrammable gate array(s) (FPGA(s)), and (where appropriate) statemachines capable of performing such functions. In terms of computerimplementation, a computer is generally understood to comprise one ormore processors or one or more controllers. When provided by a computeror processor or controller, the functions may be provided by a singlededicated computer or processor or controller, by a single sharedcomputer or processor or controller, or by a plurality of individualcomputers or processors or controllers, some of which may be shared ordistributed. Moreover, use of the term “processor” or “controller” mayalso be construed to refer to other hardware capable of performing suchfunctions and/or executing software, such as the example hardwarerecited above.

Modifications and other variants of the described embodiments will cometo mind to one skilled in the art having benefit of the teachingspresented in the foregoing description and associated drawings.Therefore, it is to be understood that the embodiments are not limitedto the specific example embodiments described in this disclosure andthat modifications and other variants are intended to be included withinthe scope of this disclosure. Still further, although specific terms maybe employed herein, they are used in a generic and descriptive senseonly and not for purposes of limitation. Therefore, a person skilled inthe art would recognize numerous variations to the described embodimentsthat would still fall within the scope of the appended claims. As usedherein, the terms “comprise/comprises” or “include/includes” do notexclude the presence of other elements or steps. Furthermore, althoughindividual features may be included in different claims, these maypossibly advantageously be combined, and the inclusion of differentclaims does not imply that a combination of features is not feasibleand/or advantageous. In addition, singular references do not exclude aplurality.

1. (canceled)
 2. A method comprising: at a server system having one ormore processors and memory storing instructions for execution by the oneor more processors: while streaming a playlist at a first electronicdevice associated with a host listener, the playlist including mediacontent items: automatically receiving an identity of a guest listenerhaving a second electronic device, without explicit input from the guestlistener after the second electronic device comes within range of thefirst electronic device; selecting an additional media content itembased at least in part on the identity of the guest listener; andincorporating the additional media content item into the selectedplaylist.
 3. The method according to claim 2, wherein the firstelectronic device comprises a media presentation system.
 4. The methodaccording to claim 2, wherein: the playlist streamed at the firstelectronic device includes media content items having a commonattribute, and the additional media content item is selected based atleast in part on the common attribute of the playlist.
 5. The methodaccording to claim 2, wherein the server receives the identity of theguest listener from the first electronic device.
 6. The method accordingto claim 2, wherein the server receives the identity of the guestlistener from the second electronic device.
 7. The method according toclaim 2, wherein the additional media content item is selected frommedia content items of a gross playlist associated with the selectedplaylist, wherein the gross playlist includes more media content itemsthan the selected playlist and the media content items of the grossplaylist have the common attribute.
 8. The method according to claim 2,wherein the indication of taste of the guest listener includes a tasteprofile parameter of the guest listener.
 9. The method according toclaim 8, wherein the additional media content item is selected fromaudio items that match the taste profile parameter of the guest listenerand have the common attribute.
 10. The method according to claim 2,wherein the indication of taste of the guest listener includes listeningcounts for respective media content items.
 11. The method according toclaim 2, wherein the common attribute of the selected playlist isrelated to the genre of the media content items.
 12. The methodaccording to claim 2, further comprising: receiving geographicinformation about the first electronic device; receiving geographicinformation about the second electronic device; and determining that thefirst and second electronic devices are within a same geographic area;wherein the additional media content item is selected in response todetermining that the first and second electronic devices are within thesame geographic area.
 13. The method according to claim 2, whereinreceiving the identity of the guest listener is performed after afunction is enabled that makes the second electronic device discoverableby the first electronic device.
 14. A server comprising: one or moreprocessors; and memory storing instructions executable by the one ormore processors to cause the server to: while streaming a playlist at afirst electronic device associated with a host listener, the playlistincluding media content items: automatically receive an identity of aguest listener having a second electronic device, without explicit inputfrom the guest listener after the second electronic device comes withinrange of the first electronic device; select an additional media contentitem based at least in part on the identity of the guest listener; andincorporate the additional media content item into the selectedplaylist.
 15. The server according to claim 14, wherein the instructionsare further executable by the one or more processors to cause the serverto: receive the identity of the guest listener from the first electronicdevice.
 16. The server according to claim 14, wherein the instructionsare further executable by the one or more processors to cause the serverto receive the identity of the guest listener from the second electronicdevice.
 17. The server according to claim 14, wherein the instructionsare further executable by the one or more processors to cause the serverto: select the additional audio item from audio items of a grossplaylist associated with the selected playlist, wherein the grossplaylist includes more audio items than the selected playlist and theaudio items of the gross playlist have the common attribute.
 18. Theserver according to claim 14, wherein the common attribute is related tothe genre of the audio items.
 19. The server according to claim 14,wherein the instructions are further executable by the one or moreprocessors to cause the server to: receive geographic information aboutthe first electronic device; receive geographic information about thesecond electronic device; and determine that the first and secondelectronic devices are within a same geographic area; wherein theadditional audio item is selected in response to determining that thefirst and second electronic devices are within the same geographic area.20. The server according to claim 14, wherein the indication of taste ofthe guest listener includes a taste profile parameter of the guestlistener.
 21. The server according to claim 20, wherein the instructionsare further executable by the one or more processors to cause the serverto select the additional audio item from audio items that match thetaste profile parameter of the guest listener and also have the commonattribute.
 22. A non-transitory computer-readable storage medium storingone or more programs for execution by a server having one or moreprocessors and memory, the one or more programs comprising instructionsfor: while streaming a playlist at a first electronic device associatedwith a host listener, the playlist including media content items:automatically receiving an identity of a guest listener having a secondelectronic device, without explicit input from the guest listener afterthe second electronic device comes within range of the first electronicdevice; selecting an additional media content item based at least inpart on the identity of the guest listener; and incorporating theadditional media content item into the selected playlist.